% $Header: /cvsroot/html2ps/postscript/flow.legend.ps,v 1.1 2005/12/18 07:21:38 Konstantin Exp $

% Flow the LEGEND-generated box
/flow-legend {                     % => Parent Child    
% calculate size of the legend
  2 copy inline-block-calc-width

  reflow                         % => Parent Child

% If legend is presend, FIELDSET margin is counted from the LEGEND top edge,
% not the actual border edge
% We need to offset the containing FIELDSET by the 1/2 of LEGEND height 
  dup get-full-height 2 div
  2 index get-margin-top
  add                              % => Parent Child NewTopPaddingValue
  2 index get-margin
  exch 0 exch put                  % => Parent Child NewPaddingArray

% If legend is present, FIELDSET padding is counted from the LEGEND bottom edge,
% not the actual border edge
  dup get-full-height 2 div        % => Parent Child (PaddingOffsetValue = H/2)
  2 index get-padding-top
  add                              % => Parent Child NewTopPaddingValue
  2 index get-padding
  exch 0 exch put                  % => Parent Child NewPaddingArray

% also, note that we'll need to modify current-y, as the flow is already in progress
  1 index get-top-internal
  2 index put-current-y  

% determine the position of top-left legend box corner
% X-coordinate
  1 index get-left-padded
% Y-coordinate
  2 index get-top-padded           % => Parent Child X Y

  2 index
  move-to-box-force                % => Parent Child

% Do legend offset
  dup                              % => Parent Child Child
  dup get-full-height              % => Parent Child Child H
  2 div                            % => Parent Child Child H/2
  dup
  offset-box                       % => Parent Child 

% clear the stack
  pop pop                          % => 
} def
